home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / MacApp Documentation / MacApp AppleLink Messages / MacApp.Tech$ 3⁄9⁄90 / 0823-Re Model⁄View Separa-Mar90 < prev    next >
Encoding:
Text File  |  1990-03-09  |  1.5 KB  |  35 lines  |  [TEXT/GEOL]

  1. Item    0839270                         6-March-90        12:37PST
  2.  
  3. From:   BURBECK.S                       Burbeck, Steve
  4.  
  5. To:     POWERUP.DEV                     Power Up Software,PRT
  6.  
  7. cc:     MACAPP.TECH$                    MacApp Technical
  8.  
  9. Sub:    Re: Model/View Separation
  10.  
  11. James,
  12.  
  13. What you are describing is indeed not new.  It goes under the name of
  14. "Model-View-Controller" (MVC) in Smalltalk-80.  The issues of dependency are,
  15. as you surmise, central to the mechanism.  The Object class implements a
  16. DependentsDictionary (as a class variable) in which all objects may register
  17. themselves as dependents of other objects.  Typically, the view registers
  18. itself as a dependent of its model.  Then class object implements a "changed"
  19. method which handles the notification of any dependents.  So a model object,
  20. when it changes, sends "self changed" which causes each of its dependents to
  21. get an update message indicating which object has changed (and optionally, some
  22. indication of what has changed).
  23.  
  24. Digitalk's Smalltalk/V-Mac implements a similar scheme called
  25. Model-Pane-Dispatcher.  The Digitalk manual has some discussion of the MPD
  26. mechanism that might be worth looking at.  For that matter, you could do a lot
  27. worse than buying Smalltalk/V-Mac for $200 or so at Egghead and looking through
  28. the the way MPD is implemented.
  29.  
  30. As for references, I believe that there is a fairly extensive paper on MVC in
  31. an issue of JOOP last year by Stephen Pope, et al.
  32.  
  33. Steve Burbeck
  34.  
  35.